import matplotlib
matplotlib.use('TkAgg')  # 或者根据你的系统选择合适的后端
import matplotlib.pyplot as plt
from matplotlib import rcParams

rcParams['font.family'] = 'STHeiti'    # Mac
# rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'SimSun', 'FangSong', 'KaiTi']
rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

"""
折线图 plot
条形图 bar
饼图  pie
散点图 scatter
箱线图 boxplot
多个图标
组合图
"""

# 柱状图
# 创建图表并创建
plt.figure(figsize=(10, 8))
subjects = ['语文', '数学', '英语', '物理', '化学', '历史']
scores = [80, 95, 88, 98, 100, 78]

plt.bar(subjects, scores, label='张三', color='orange', width=0.6)

# 添加标题和标签
plt.title('2025年度成绩单', color='r', fontsize=20)

plt.xlabel('科目', fontsize=10)
plt.ylabel('分数', fontsize=10)

# 添加网格线
plt.grid(axis='y', alpha=0.3)

# 设置刻度字体大小
plt.xticks(rotation=0, fontsize=20)
plt.yticks(rotation=60, fontsize=20)    # rotation设置旋转角度


# 设置y轴的范围
plt.ylim(0, 100)

# 添加图例
plt.legend(loc='upper left')

# 在每个数据点上显示数值
for x, y in zip(subjects, scores):
    plt.text(x, y+1, str(y), ha='center', va='bottom', color='b', fontsize=10)

# 自动优化排版
plt.tight_layout()
# 显示图表
plt.show()
